package course.d1207.am;

import java.util.Random;
import java.util.Scanner;

/*
        object类：                    是java中所有类的父类
        1. public String toString;   返回当前对象的字符串形式
        2. public boolean equals （object obj）   返回的是当前对象和指定对象的内容是否相等
          public boolean equals(Object var1) {
          return this == var1;
          查看的结果是：默认的源码比较的是两个对象的地址值
    }
 */
public class Demo02 {
    public static void main(String[] args) {
        Student a = new Student("tom", 10);
        String s = a.toString();
        System.out.println(a.toString());
        //输出一个对象名，默认调用toString
        System.out.println(a);
        System.out.println("************");
        Student s1 =new Student("tom",10);
        Student s2 =new Student("tom",10);
        boolean b = s1.equals(s2);
        System.out.println(b);


    }
}

class A {
}

class Student extends A {
    String name;
    int age;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Student() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
    /**
     * 该方法是用来判断当前对象和指定对象是否相等（内容相等）
     * 判断标准是：
     * 对象的数据类型相同且内容相同就是同一个对象，返回true
     */

    public boolean equals(Object object){
        //判断指定对象的地址为null
      if (object == null){
          return  false;
      }
      //判断是否为同一个对象的地址值
        if (this==object){
            return true;
        }
        //判断数据类型是否相同
        if (!(object instanceof Student)){
            return  false;
        }
        Student s = (Student) object;
        //比较的是传入对象的内容和当前对象的内容进行比较
        return  s.age == this.age&& s.name == this.name;
    }

//    public  String toString(){
//        String s = "Student[姓名： "+name+"  年龄： "+age +"]";
//        return s;
//    }
}
